<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

    <title>滚动的方块loading动画</title>
    <link rel="stylesheet" href="../css/77.css">
    <style>
        *{
    /* 初始化 */
    margin: 0;
    padding: 0;
}
body{
    /* 100%窗口高度 */
    height: 100vh;
    /* 弹性布局 水平+垂直居中 */
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
}
.loader{
    /* 相对定位 */
    position: relative;
}
.square{
    width: 200px;
    height: 200px;
    background: #48c0a3;
    /* 阴影 外发光效果 */
    box-shadow: 0 0 15px #48c0a3,
    0 0 30px #48c0a3,
    0 0 60px #48c0a3;
    /* 设置旋转元素的基点位置 */
    transform-origin: bottom right;
    /* 执行动画：动画名 时长 线性 无限次播放 */
    animation: roll 1s linear infinite;
}
/* 黑色遮罩（挖空正方形） */
.square::before{
    content: "";
    width: 150px;
    height: 150px;
    /* 绝对定位 居中 */
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    background: #000;
    /* 阴影 内发光 */
    box-shadow: inset 0 0 15px #48c0a3,
    inset 0 0 30px #48c0a3,
    inset 0 0 60px #48c0a3;
}
.text{
    width: 300px;
    height: 40px;
    line-height: 40px;
    position: absolute;
    left: -40px;
    bottom: -80px;
    /* 溢出隐藏 */
    overflow: hidden;
}
.text p{
    color: #48c0a3;
    font-size: 24px;
    white-space: nowrap;
    /* 文字发光 */
    text-shadow: 0 0 2px #48c0a3,
    0 0 4px #48c0a3,
    0 0 8px #48c0a3;
    position: absolute;
    /* 默认移出可视范围 */
    left: 100%;
    /* 执行动画 */
    animation: move 3.5s linear infinite;
}

/* 定义动画 */
/* 方形翻转动画 */
@keyframes roll {
    100%{
        transform: translateX(-100%) rotateZ(90deg);
    }
}
/* 文本移动动画 */
@keyframes move {
    100%{
        left: -50%;
    }
} 
    </style>
</head>

<body>
    <div class="loader">
        <div class="square"></div>
        <div class="text">
            <p>拼命加载中...</p>
        </div>
    </div>
</body>

</html>